Population class module
Module containing the Population grid class object.
Here all the functionality of a Population object is defined.
TODO: the save_snapshots and save_snapshot, are they actually distinct?
- Tasks:
TODO: type the private functions
TODO: fix the correct object types for the default values of the bse_options
TODO: think of a clean and nice way to unload and remove the custom_logging_info library from memory (and from disk)
TODO: think of a nice way to remove the loaded grid_code/ generator from memory.
TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) The current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (https://realpython.com/instance-class-and-static-methods-demystified/)
- class binarycpython.utils.population_class.Population(**kwargs)[source]
Bases:
analytics,cache,dataIO,distribution_functions,grid_logging,population_options_defaults,HPC,metadata,Moe_di_Stefano_2017,spacing_functions,version_info,grid_sampling,monte_carlo_sampling,source_file_sampling,custom_generator_sampling,signal_handling,return_functions,ensemble,argument_handling,termination_functions,miscellaneous_functions,evolution_functions,failing_systems_functions,sampling_variables,custom_binary_c_logging,logging_functionality,EmailPopulation Object. Contains all the necessary functions to set up, run and process a population of systems
- clean()[source]
Clean the contents of the population object so it can be reused.
Calling _pre_run_setup()
TODO: decide to deprecate this function
- Return type
None
- evolve()[source]
Entry point function of the whole object. From here, based on the settings, we set up a grid and (probably) evolve the population.
There are no direct arguments to this function, the population_options contain all the relevant settings.
TODO: create a pre-evolve function to handle all the things that need to be done before the evolution TODO: create a post-evolve function to handle all the things that need to be done before the evolution
- Return type
None- Returns
a dictionary containing the analytics of the run.